package com.zp.business.entity.hospitalizationNotice.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.zp.common.excel.annotation.ExcelDictFormat;
import com.zp.common.excel.convert.ExcelDictConvert;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;


/**
 * 住院通知单视图对象
 *
 * @author zhang peng
 * @ date 2024-06-26
 */
@Data
@ExcelIgnoreUnannotated
public class HospitalizationNoticeVo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @ExcelProperty(value = "主键")
    private String noticeId;

    /**
     * 就诊记录id
     */
    @ExcelProperty(value = "就诊记录id")
    private String clinicId;

    /**
     * 患者姓名
     */
    @ExcelProperty(value = "患者姓名")
    private String name;

    /**
     * 姓名拼音码
     */
    @ExcelProperty(value = "姓名拼音码")
    private String inputCode;

    /**
     * 性别
     */
    @ExcelProperty(value = "性别", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "sys_user_sex")
    private String sex;

    /**
     * 年龄
     */
    @ExcelProperty(value = "年龄")
    private String age;

    /**
     * 年龄-月
     */
    @ExcelProperty(value = "年龄-月")
    private Integer ageMonth;

    /**
     * 年龄-天
     */
    @ExcelProperty(value = "年龄-天")
    private Integer ageDay;

    /**
     * 年龄-时
     */
    @ExcelProperty(value = "年龄-时")
    private Integer ageHours;

    /**
     * 年龄-分
     */
    @ExcelProperty(value = "年龄-分")
    private Integer ageMinutes;

    /**
     * 名族
     */
    @ExcelProperty(value = "名族", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "nation_dict")
    private String nation;

    /**
     * 国籍
     */
    @ExcelProperty(value = "国籍", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "nationality_dict")
    private String nationality;

    /**
     * 婚姻
     */
    @ExcelProperty(value = "婚姻", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "marriage_dict")
    private String marriage;

    /**
     * 职业
     */
    @ExcelProperty(value = "职业", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "profession_dict")
    private String occupation;

    /**
     * 床号
     */
    @ExcelProperty(value = "床号")
    private String bedNum;

    /**
     * 生日
     */
    @ExcelProperty(value = "生日")
    private Date birthdayDate;

    /**
     * 籍贯
     */
    @ExcelProperty(value = "籍贯")
    private String nativePlace;

    /**
     * 籍贯代码
     */
    @ExcelProperty(value = "籍贯代码")
    private String nativePlaceCode;

    /**
     * 邮编
     */
    @ExcelProperty(value = "邮编")
    private String zipCode;

    /**
     * 出生地
     */
    private String homePlace;

    /**
     * 出生地代码
     */
    private String homePlaceCode;


    /**
     * 住址
     */
    @ExcelProperty(value = "住址")
    private String address;

    /**
     * 现住址代码
     */
    @ExcelProperty(value = "现住址代码")
    private String addressCode;

    /**
     * 身份
     */
    @ExcelProperty(value = "身份")
    private String identity;

    /**
     * 住院标识
     */
    @ExcelProperty(value = "住院标识", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "sys_yes_no")
    private String inFlag;

    /**
     * 身份证号
     */
    @ExcelProperty(value = "身份证号")
    private String idNo;

    /**
     * 电话
     */
    @ExcelProperty(value = "电话")
    private String phone;

    /**
     * 联系人
     */
    @ExcelProperty(value = "联系人")
    private String contacts;

    /**
     * 联系人关系
     */
    @ExcelProperty(value = "联系人关系")
    private String contactsRelation;

    /**
     * 联系人民族
     */
    @ExcelProperty(value = "联系人民族")
    private String contactsNation;

    /**
     * 联系人身份
     */
    @ExcelProperty(value = "联系人身份")
    private String contactsIdentity;

    /**
     * 联系人地址编码
     */
    @ExcelProperty(value = "联系人地址编码")
    private String contactsAddressCode;

    /**
     * 联系人地址
     */
    @ExcelProperty(value = "联系人地址")
    private String contactsAddress;

    /**
     * 联系人电话
     */
    @ExcelProperty(value = "联系人电话")
    private String contactsPhone;

    /**
     * 合同单位
     */
    @ExcelProperty(value = "合同单位")
    private String unitInContract;

    /**
     * 费别
     */
    @ExcelProperty(value = "费别", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "charge_type_dict")
    private String chargeType;

    /**
     * 入院科室
     */
    @ExcelProperty(value = "入院科室")
    private String deptAdmissionTo;


    /**
     * 入院科室名称
     */
    @ExcelProperty(value = "入院科室名称")
    private String deptAdmissionToName;

    /**
     * 入院病区名称
     */
    @ExcelProperty(value = "入院病区名称")
    private String wardAdmissionToName;

    /**
     * 入院病区
     */
    @ExcelProperty(value = "入院病区")
    private String wardAdmissionTo;

    /**
     * 入院时间
     */
    @ExcelProperty(value = "入院时间")
    private Date admissionTime;

    /**
     * 预交住院费
     */
    @ExcelProperty(value = "预交住院费")
    private String acceptingMoney;

    /**
     * 发病时间
     */
    @ExcelProperty(value = "发病时间")
    private Date attackdate;

    /**
     * 入院情况
     */
    @ExcelProperty(value = "入院情况", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "admission_situation_dict")
    private String hospitalSituation;

    /**
     * 隔离情况
     */
    @ExcelProperty(value = "隔离情况", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "sys_yes_no")
    private String quarantine;

    /**
     * 入院诊断
     */
    @ExcelProperty(value = "入院诊断")
    private String diagnosis;

    /**
     * 门诊诊断
     */
    @ExcelProperty(value = "门诊诊断")
    private String clinicDiagnosis;

    /**
     * 注意事项
     */
    @ExcelProperty(value = "注意事项")
    private String attention;

    /**
     * 机构id
     */
    @ExcelProperty(value = "机构id")
    private String orgId;


    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remarks;

    /**
     * 建议预交金
     */
    @ExcelProperty(value = "建议预交金")
    private BigDecimal paymentAdvice;

    /**
     * 联系人身份证号
     */
    @ExcelProperty(value = "联系人身份证号")
    private String contactsIdNo;

    /**
     * 文化程度
     */
    @ExcelProperty(value = "文化程度")
    private String eduLevel;

    /**
     * 入院途径
     */
    @ExcelProperty(value = "入院途径")
    private String channel;


    /**
     * 新生儿标记
     */
    private String newbornFlag;

    private String createBy;

    /**
     * 病人信息Id
     */
    private String patientId;


}
